<!doctype html>
<html class="no-js">
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
    <title>connectPool</title>
<link href="../../../../images/logo-icon.svg" rel="icon" type="image/svg">    <script>var pathToRoot = "../../../../";</script>
    <script>document.documentElement.classList.replace("no-js","js");</script>
    <script>const storage = localStorage.getItem("dokka-dark-mode")
    if (storage == null) {
        const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
        if (osDarkSchemePreferred === true) {
            document.getElementsByTagName("html")[0].classList.add("theme-dark")
        }
    } else {
        const savedDarkMode = JSON.parse(storage)
        if(savedDarkMode === true) {
            document.getElementsByTagName("html")[0].classList.add("theme-dark")
        }
    }
    </script>
<script type="text/javascript" src="https://unpkg.com/kotlin-playground@1/dist/playground.min.js" async></script>
<script type="text/javascript" src="../../../../scripts/sourceset_dependencies.js" async></script>
<link href="../../../../styles/style.css" rel="Stylesheet">
<link href="../../../../styles/main.css" rel="Stylesheet">
<link href="../../../../styles/prism.css" rel="Stylesheet">
<link href="../../../../styles/logo-styles.css" rel="Stylesheet">
<link href="../../../../styles/font-jb-sans-auto.css" rel="Stylesheet">
<script type="text/javascript" src="../../../../scripts/clipboard.js" async></script>
<script type="text/javascript" src="../../../../scripts/navigation-loader.js" async></script>
<script type="text/javascript" src="../../../../scripts/platform-content-handler.js" async></script>
<script type="text/javascript" src="../../../../scripts/main.js" defer></script>
<script type="text/javascript" src="../../../../scripts/prism.js" async></script>
<script type="text/javascript" src="../../../../scripts/symbol-parameters-wrapper_deferred.js" defer></script></head>
<body>
    <div class="root">
<nav class="navigation" id="navigation-wrapper">
    <div class="navigation--inner">
        <div class="navigation-title">
            <button class="menu-toggle" id="menu-toggle" type="button">toggle menu</button>
            <div class="library-name">
<a class="library-name--link" href="../../../../index.html">
                            exposed
                    </a>            </div>
            <div class="library-version">0.57.0
            </div>
        </div>
        <div class="filter-section" id="filter-section">
                <button class="platform-tag platform-selector jvm-like" data-active="" data-filter=":exposed-core:dokkaHtmlPartial/main">jvm</button>
        </div>
    </div>
    <div class="navigation-controls">
        <button class="navigation-controls--btn navigation-controls--theme" id="theme-toggle-button" type="button">switch theme</button>
        <div class="navigation-controls--btn navigation-controls--search" id="searchBar" role="button">search in API</div>
    </div>
</nav>
        <div id="container">
            <div class="sidebar" id="leftColumn">
                <div class="sidebar--inner" id="sideMenu"></div>
            </div>
            <div id="main">
<div class="main-content" data-page-type="member" id="content" pageids="exposed-core::org.jetbrains.exposed.sql/Database.Companion/connectPool/#javax.sql.ConnectionPoolDataSource#kotlin.Function1[java.sql.Connection,kotlin.Unit]#org.jetbrains.exposed.sql.DatabaseConfig?#org.jetbrains.exposed.sql.DatabaseConnectionAutoRegistration#kotlin.Function1[org.jetbrains.exposed.sql.Database,org.jetbrains.exposed.sql.transactions.TransactionManager]/PointingToDeclaration//-1583301284">
  <div class="breadcrumbs"><a href="../../../index.html">exposed-core</a><span class="delimiter">/</span><a href="../../index.html">org.jetbrains.exposed.sql</a><span class="delimiter">/</span><a href="../index.html">Database</a><span class="delimiter">/</span><a href="index.html">Companion</a><span class="delimiter">/</span><span class="current">connectPool</span></div>
  <div class="cover ">
    <h1 class="cover"><span>connect</span><wbr><span><span>Pool</span></span></h1>
  </div>
  <div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":exposed-core:dokkaHtmlPartial/main"><div class="symbol monospace"><span class="token keyword">fun </span><a href="connect-pool.html"><span class="token function"><strike>connectPool</strike></span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">datasource<span class="token operator">: </span><a href="https://docs.oracle.com/javase/8/docs/api/javax/sql/ConnectionPoolDataSource.html">ConnectionPoolDataSource</a><span class="token punctuation">, </span></span><span class="parameter ">setupConnection<span class="token operator">: </span><span class="token punctuation">(</span><a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html">Connection</a><span class="token punctuation">)</span><span class="token operator"> -&gt; </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a><span class="token operator"> = </span>{}<span class="token punctuation">, </span></span><span class="parameter ">databaseConfig<span class="token operator">: </span><a href="../../-database-config/index.html">DatabaseConfig</a><span class="token operator">?</span><span class="token operator"> = </span>null<span class="token punctuation">, </span></span><span class="parameter ">connectionAutoRegistration<span class="token operator">: </span><a href="../../-database-connection-auto-registration/index.html">DatabaseConnectionAutoRegistration</a><span class="token operator"> = </span>connectionInstanceImpl<span class="token punctuation">, </span></span><span class="parameter ">manager<span class="token operator">: </span><span class="token punctuation">(</span><a href="../index.html">Database</a><span class="token punctuation">)</span><span class="token operator"> -&gt; </span><a href="../../../org.jetbrains.exposed.sql.transactions/-transaction-manager/index.html">TransactionManager</a><span class="token operator"> = </span>{ ThreadLocalTransactionManager(it) }</span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="../index.html">Database</a></div><div class="deprecation-content"><h3 class="">Deprecated (with error)</h3><p class="paragraph">Use Database.connect() with a connection pool DataSource instead. This may be removed in future releases.</p></div><p class="paragraph">JDBC driver implementations of <code class="lang-kotlin">ConnectionPoolDataSource</code> are not actual connection pools, but rather a means of obtaining the physical connections to then be used in a connection pool. It is a known issue, with no plans to be fixed, that <code class="lang-kotlin">SQLiteConnectionPoolDataSource</code>, for example, creates a new connection each time instead of retrieving a pooled connection. Other implementations, like <code class="lang-kotlin">PGConnectionPoolDataSource</code>, suggest that a <code class="lang-kotlin">DataSource</code> or a dedicated third-party connection pool library should be used instead.</p><p class="paragraph">Please leave a comment on <a href="https://youtrack.jetbrains.com/issue/EXPOSED-354/Deprecate-Database.connectPool-with-ConnectionPoolDataSource">YouTrack</a> with a use-case if your driver implementation requires that this function remain part of the API.</p><p class="paragraph"><a href="https://github.com/xerial/sqlite-jdbc/issues/1011">SQLiteConnectionPoolDataSource issue #1011</a></p><p class="paragraph"><a href="https://github.com/pgjdbc/pgjdbc/blob/master/pgjdbc/src/main/java/org/postgresql/ds/PGConnectionPoolDataSource.java">PGConnectionPoolDataSource source code</a></p><p class="paragraph"><a href="https://github.com/spullara/mysql-connector-java/blob/master/src/main/java/com/mysql/jdbc/jdbc2/optional/MysqlConnectionPoolDataSource.java">MysqlConnectionPoolDataSource source code</a></p></div></div>
</div>
      <div class="footer">
        <span class="go-to-top-icon"><a href="#content" id="go-to-top-link"></a></span><span>© 2024 Copyright</span><span class="pull-right"><span>Generated by </span><a href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span>
      </div>
            </div>
        </div>
    </div>
</body>
</html>

